//package com.wanlian.encrypt;
//
//import com.wanlian.util.Base64Utils;
//
//import java.security.*;
//import java.security.spec.ECGenParameterSpec;
//import java.util.Random;
//
//
//public class SecpEncrypt {
//    public KeyPair createKeyPairGenerator(byte[] privatekey) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException {
//        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
//        // algorithm这里取值：secp256k1
//        ECGenParameterSpec ecGenParameterSpec = new ECGenParameterSpec("secp256k1");
//        keyPairGenerator.initialize(ecGenParameterSpec, new SecureRandom(privatekey));
//        KeyPair keyPair = keyPairGenerator.generateKeyPair();
//        return keyPair;
//    }
//
//    public KeyPair createKeyPairGenerator(String privatekey)
//            throws NoSuchAlgorithmException, InvalidAlgorithmParameterException {
//        byte[] seed=HexUtil.decode(privatekey);
//        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
//        // algorithm这里取值：secp256k1
//        ECGenParameterSpec ecGenParameterSpec = new ECGenParameterSpec("secp256k1");
//        keyPairGenerator.initialize(ecGenParameterSpec, new SecureRandom(seed));
//        KeyPair keyPair = keyPairGenerator.generateKeyPair();
//        return keyPair;
//    }
//
//
//    public KeyPair createKeyPairGenerator()
//            throws NoSuchAlgorithmException, InvalidAlgorithmParameterException {
//        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
//        // algorithm这里取值：secp256k1
//        ECGenParameterSpec ecGenParameterSpec = new ECGenParameterSpec("secp256k1");
//        byte[] seed = new byte[32];
//        Random random = new Random();
//        random.nextBytes(seed);
//
//
//        System.out.println(HexUtil.encode(seed));
//
//        keyPairGenerator.initialize(ecGenParameterSpec, seed);
//        KeyPair keyPair = keyPairGenerator.generateKeyPair();
//        return keyPair;
//    }
//
//    // 获得私钥
//    public String getPrivateKey(KeyPair keyPair) throws Exception {
//        PrivateKey pKey = keyPair.getPrivate();
//        return Base64Utils.encode(pKey.getEncoded());
//    }
//
//    // 获得私钥
//    public String getPrivateKey(PrivateKey privateKey) throws Exception {
//        return Base64Utils.encode(privateKey.getEncoded());
//    }
//
//    public static String getPublicKey(KeyPair keyPair) throws Exception {
//        return Base64Utils.encode(keyPair.getPublic().getEncoded());
//    }
//
//
//
//
//    public static void main(String[] args) {
//        SecpEncrypt secpEncrypt = new SecpEncrypt();
//        try {
//            KeyPair keyPair = secpEncrypt.createKeyPairGenerator("ec0e5f863e70725923e88f79d45100db96282174a45be43214998a16a56d4838");
//            System.out.println(secpEncrypt.getPrivateKey(keyPair));
//            System.out.println(secpEncrypt.getPublicKey(keyPair));
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//}
